Acid your ARM
نویسنده
چکیده
We have developed jtagfs, a protocol stack and filesystem which enables live debugging of an ARM machine using acid. It accesses the hardware through a JTAG interface, providing new ways of debugging which dissolve the boundaries between the kernel, user space and the loader and gives direct access to the hardware. At the same time acid provides high level abstractions to interpret the results and automate the debugging process. Introduction JTAG is a standard for boundary scanning, a method for testing digital circuits by means of a shift register (boundary scan shift register or BSR). The BSR is used to drive the inputs and outputs of different parts of the circuit. On each subcircuit the BSR is con trolled by a TAP (Test Access Port), used to transverse the states of the BSR on each tick of the clock, load it and set its connections to the pins, input and output values of the circuit. On complex digital circuits, like a microprocessor, the BSR can be used to con trol separately and test different subcircuits by feeding it different chains (a sequence of bits). While debugging some drivers in the Sheevaplug, it came to our attention that the ARM cores have a well documented JTAG interface [10]. Furthermore, the chains to control all of the models are very similar, with only small differences between them. The micropro cessor includes a TAP controller and some extra debugging hardware as part of the macrocell called Embedded ICE [6] or Embedded ICE-RT [7] depending on the particular model. The JTAG interface provides access from an external external machine to differ ent parts of the microprocessor. Through JTAG the debugger can make the processor enter debug mode, write directly to the processor registers, inject instructions with full access to the hardware and restart the processor no matter its state. Furthermore, some machines like the Sheevaplug contain a chip which in addition to providing access to the serial port on the machine has a subcircuit able to interact with the TAP con trollers on the board and the microprocessor, making them accessible through USB. This chip, called AN2232C-01 [4] , is a command processor which can drive any kind of serial interface (act as an MPSSE or Multi-Protocol Synchronous Serial Engine). It can also work as an MCU host bus emulator. We will be using it as an MPSSE, so we will just call it MPSSE from now on. All this capabilities mean that with the appropriate software it is possible to debug the kernel having facilities akin to that available on special development boards while at the same time running regular production kernels. It is even possible to debug simultane ously the kernel, user space and the loader, vanishing the frontiers and providing full access to the hardware. The problem is that the appropriate software did not exist. The software we have had access to has some limited debugging capabilities through gdb or direct access to the hardware. Porting existing software to Plan 9, while being more complicated than writing it from scratch would have been not enough because of the dependencies with gdb and its lack of generality in the interfaces it offered. Leveraging on [14] and with an approach similar to rdbfs(4) [11] but with a twist, we have devel oped a general purpose a complete programmable debugging interface for the ARM machines, providing full access to the hardware. JTAG basics Each JTAG capable device has a number of TAPs connected in series or in parallel. Each TAP normally has four inputs, TCLK, TMS, TDI and TDO, connected as is shown in Figure 1.
منابع مشابه
Lucerne Lecture
This talk is about you as a human person. It is about science's conception of you as a human person. It is about what makes you different from a machine. It is about your mind, and how your mind influences your bodily actions. It is about: The causal connection between your mind and your brain. When I tell someone that I study the connection between The Mind and The Brain, the immediate reply i...
متن کاملاثر تجویز توام لوواستاتین و اسیدفولیک بر اختلالات شناختی ناشی از تخریب دو طرفه هسته قاعد های ماینرت در موش صحرائی نر بالغ مدل بیماری آلزایمر
Introduvtion: Alzheimer's disease is one of the most common neurodegenerative diseases in the brain. The aim of this study was to evaluate the effect of lovastatin and folic acid on cognitive deficit by induced lesion in nucleus basalis magnocellularis Methods: In this experimental study, 56 male Wistar rats were randomly divided into 8 groups: (7 rat in each group): control(intact), Nucleus b...
متن کاملARM-based performance monitoring for the eclipse platform
The Eclipse Test and Performance Tools Platform (TPTP) project released an open source and ARM 4.0 compliant implementation in June 2006, based on TPTP version 4.2. This paper describes the TPTP project, and explains how ARM has been implemented and integrated with TPTP. The tradeoffs involved in getting to this point are discussed, along with the challenges in moving forward. Specific examples...
متن کاملBrain regions active when our minds wander may hold a key to understanding neurological disorders and even consciousness itself
Imagine you are almost dozing in a lounge chair outside, with a magazine on your lap. Suddenly, a fl y lands on your arm. You grab the magazine and swat at the insect. What was going on in your brain after the fl y landed? And what was going on just before? Many neuroscientists have long assumed that much of the neural activity inside your head when at rest matches your subdued, somnolent mood....
متن کاملWhat is your diagnosis? A solitary purple papule on the arm
A 54-year-old woman with immune thrombocytopenic purpura (ITP) referred to our dermatology department with a three-week-history of a purple-colored lesion on her right arm. The patient was on treatment with oral prednisone at 20 mg/day for ITP and levothyroxine at 25 mg/day for hypothyroidism. No topical treatment was prescribed or used before our consultation. Dermatological examination reveal...
متن کاملControl of Octopus Arm Extension by a Peripheral Motor Program Author(s):
Your use of the JSTOR archive indicates your acceptance of JSTOR's Terms and Conditions of Use, available at http://www.jstor.org/page/info/about/policies/terms.jsp. JSTOR's Terms and Conditions of Use provides, in part, that unless you have obtained prior permission, you may not download an entire issue of a journal or multiple copies of articles, and you may use content in the JSTOR archive o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011